$(function () {//加载表格
    getBalanceTreeGrid();
    initData();
})

function getBalanceTreeGrid() {
    $('#dg').treegrid({
        loadMsg: '数据加载中，请稍后...',
        url: finance + '/balance/listInfo',
        pagination: true,
        singleSelect: false,//如果为true，则只允许选择一行。
        title: "余额表列表",
        pageSize: pageSize,
        pageList: pageList,
        checkOnSelect: true,//当用户点击行的时候该复选框就会被选中或取消选中。
        striped: true,//是否显示斑马线效果。
        rownumbers: true,// 显示一个行号列
        fitColumns: false,//真正的自动展开/收缩列的大小，以适应网格的宽度，防止水平滚动。
        queryParams: {
            selfdate: $("#selfdate").combobox("getValue")
        },
        idField: 'subjectId',
        treeField: 'subjectCode',
        frozenColumns: [[
            {field: "id", title: "编号", hidden: true},]],
        columns: [[
            {field: 'itemid', title: 'Order ID', width: 80, checkbox: true},
            {field: 'fdate', title: '余额日期'},
            {field: 'subjectCode', title: '科目代码'},
           /* {field: 'securitiesCode', title: '证券代码'},*/
            {
                field: 'account', title: '基金名称', formatter: function (value, row, index) {
                    return value.name
                }
            },
            {field: 'subjectName', title: '科目名称'},
            {field: 'currency', title: '余额币种'},
            {
                field: 'beginningBalance', title: '期初余额', formatter: function (value, row, index) {
                    return getNumber(value)
                }
            },
            {
                field: 'currentDebitMoney', title: '借方发生余额', formatter: function (value, row, index) {
                    return getNumber(value)
                }
            },
            {
                field: 'currentCreditMoney', title: '贷方发生余额', formatter: function (value, row, index) {
                    return getNumber(value)
                }
            },
            {
                field: 'totalCurrentCreditMoney', title: '累计借方发生余额', formatter: function (value, row, index) {
                    return getNumber(value)
                }
            },
            {
                field: 'totalCurrentDebitMoney', title: '累计贷方发生余额', formatter: function (value, row, index) {
                    return getNumber(value)
                }
            },
            {
                field: 'endBalance', title: '期末余额', formatter: function (value, row, index) {
                    return getNumber(value)
                }
            },
            {
                field: 'beginningAmount', title: '期初数量', formatter: function (value, row, index) {
                    return getNumber(value)
                }
            },
            {
                field: 'currentDebitAmount', title: '借方发生数量', formatter: function (value, row, index) {
                    return getNumber(value)
                }
            },
            {
                field: 'currentCreditAmount', title: '贷方发生数量', formatter: function (value, row, index) {
                    return getNumber(value)
                }
            },
            {
                field: 'totalCurrentDebitAmount', title: '累计借方发生数量', formatter: function (value, row, index) {
                    return getNumber(value)
                }
            },
            {
                field: 'totalCurrentCreditAmount', title: '累计贷方发生数量', formatter: function (value, row, index) {
                    return getNumber(value)
                }
            },
            {
                field: 'endAmount', title: '期末数量', formatter: function (value, row, index) {
                    return getNumber(value)
                }
            }
        ]],
        loadFilter: function (data) { //加载后台数据
            if (successcode != data.code) {
                return errorHandle(data);
            }
            return data.data;
        },
        //双击事件
        onDblClickRow: function (rowIndex, rowData) {
            view(rowData)
        }
    });
}

// 初始化加载下拉框的值
function initData() {
    $.ajax({
            type: "post",
            url: finance + "/balance/init",
            dataType: "json",
            success: function (data) {
                if (successcode != data.code) {
                    return errorHandle(data);
                }
                var lsetlists = data.data.lsetlists;
                if (!isNull(lsetlists)) {
                    $("#accountId").combotree("loadData", lsetlists);
                }
            }, error: function (data) {
                $.messager.progress('close');
                $.messager.alert('系统提示', "系统异常，请稍后重试！", 'error');
            }
        }
    );
}

//搜索的方法
function doSearch() {
    var queryParams = $("#dg").datagrid("options").queryParams;
    queryParams["selfdate"] = $("#selfdate").combobox("getValue");
    queryParams["accountId"] = $("#accountId").combobox("getValue");
    $("#dg").treegrid("options").queryParams = queryParams;
    $("#dg").treegrid("load");
}

/**
 *  查看方法
 */
function view(rowData) {
    $('#myform').form('disableValidation');//清除验证样式
    $('#dlg').dialog({
        title: "查看操作日志",
        buttons: [{
            text: '返回',
            iconCls: 'icon-back',
            handler: function () {
                $('#dlg').dialog('close');
            }
        }
        ]
    }).dialog('open');
    $('#myform').form('load', rowData);//页面赋值
}

//生成余额表数据
function produceBalance() {
    //$.messager.progress({text: '正在处理中...',});
    $.ajax({
            type: "post",
            url: finance + "/balance/produceBalance",
            dataType: "json",
            data: {
                selfdate: $("#selfdate").combobox("getValue"),
                accountId: getCommbotreeValue("accountId")
            },
            success: function (data) {
                $.messager.progress('close');
                if (successcode != data.code) {
                    return errorHandle(data);
                }
                $.messager.show({title: '系统提示', msg: data.message});
                getBalanceTreeGrid();
            }, error: function (data) {
                $.messager.progress('close');
                $.messager.alert('系统提示', "系统异常，请稍后重试！", 'error');
            }
        }
    );
}

